package lambda.function;

import lambda.entity.Page;

import java.util.function.BiConsumer;

/**
 * @author LIBOFEI
 * @ClassName BiConsumerTest
 * @description BiConsumer(T, U) 参数为 T，U 无返回值 方法为 void accept(T t, U u)
 * @date 2022/4/6 17:09
 * @Version 1.0
 **/
public class BiConsumerTest {


    public static void main(String[] args) {
        Page page = new Page();
        //未使用lamda
        test(page,
                new BiConsumer<Page, Integer>() {
                    @Override
                    public void accept(Page page, Integer integer) {
                        page.setPageNum(integer);
                    }
                },
                new BiConsumer<Page, Integer>() {
                    @Override
                    public void accept(Page page, Integer integer) {
                        page.setPageSize(integer);
                    }
                }
        );
        //使用了但没完全使用
        test(page,
                (page1, integer) -> page1.setPageNum(integer),
                (page12, integer) -> page12.setPageSize(integer)
        );
        //使用之后
        test(page, Page::setPageNum, Page::setPageSize);
        System.out.println(page.getPageNum() + "," + page.getPageSize());
    }


    public static void test(Page page,BiConsumer<Page,Integer> setPageNum,BiConsumer<Page,Integer> setPageSize){
        int pageNum = 1;
        int pageSize = 20;
        setPageNum.accept(page,pageNum);
        setPageSize.accept(page,pageSize);
    }
}
